Enable autodiff in ci for all major os#152768
Conversation
|
|
|
@bors try jobs=dist-aarch64-apple |
This comment has been minimized.
This comment has been minimized.
Enable autodiff in ci for all major os try-job: dist-aarch64-apple
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Enable autodiff in ci for all major os try-job: dist-x86_64-linux
|
@bors try jobs=dist-aarch64-linux |
This comment has been minimized.
This comment has been minimized.
Enable autodiff in ci for all major os try-job: dist-aarch64-linux
|
@bors try jobs=dist-aarch64-llvm-mingw |
This comment has been minimized.
This comment has been minimized.
Enable autodiff in ci for all major os try-job: dist-aarch64-llvm-mingw
|
💔 Test for ea4964d failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
e926590 to
cc1935a
Compare
This comment has been minimized.
This comment has been minimized.
That's already shared between llvm and lld. Enzyme ignores these I don't think we can nicely share it between all three, llvm+lld+enzyme. I tried all 5 targets and they build fine. |
|
Thanks, the LLD logic looks reasonable, as far as bootstrap workarounds go. @bors r+ |
…r=Kobzol Enable autodiff in ci for all major os *[View all comments](https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/rust/pull/152768)* Follow-up attempt to rust-lang#140064 after moving autodiff to dlopen. It covers Linux (x86_64+aarch64), MacOS (aarch64), Windows (mingw-llvm aarch64+x86_64) The extra build time for Enzyme are 180.27s on our slowest runner (aarch64-apple). The follow-up distribution via rustup probably still needs a small fix, see rust-lang#151063 (comment) Placing the downloaded libEnzyme artifact on my local linux under `~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib` enables my nightly compiler to run autodiff. r? @Kobzol closes: rust-lang#140064 closes: rust-lang#151243 closes: rust-lang#151063
Rollup of 6 pull requests Successful merges: - #153007 (`rust-analyzer` subtree update) - #152768 (Enable autodiff in ci for all major os) - #152003 (Reflection TypeId::trait_info_of) - #152988 (Port `#[register_tool]` to the new attribute system) - #152989 (Port `#[rustc_inherit_overflow_checks]` to the new attribute parsers) - #152991 (fix interpreter tracing output)
…uwer Rollup of 14 pull requests Successful merges: - #153007 (`rust-analyzer` subtree update) - #152670 (Simplify ThinLTO handling) - #152768 (Enable autodiff in ci for all major os) - #152908 (Enable rust.remap-debuginfo in the dist profile) - #152999 (Check importing `crate`/`$crate`/`super` after handling `self`) - #152003 (Reflection TypeId::trait_info_of) - #152976 (Revert relative paths for std links in rustc-docs) - #152985 (Port `#[feature]` to the new attribute system) - #152989 (Port `#[rustc_inherit_overflow_checks]` to the new attribute parsers) - #152991 (fix interpreter tracing output) - #153004 (Superficial tweaks to the query modifier docs in `rustc_middle::query::modifiers`) - #153008 (bootstrap.compiler.toml: update name of primary branch) - #153016 (Migration of `LintDiagnostic` - part 2) - #153020 (rustdoc: Improve sentence for documented empty impl blocks) Failed merges: - #152988 (Port `#[register_tool]` to the new attribute system)
…uwer Rollup of 14 pull requests Successful merges: - #153007 (`rust-analyzer` subtree update) - #152670 (Simplify ThinLTO handling) - #152768 (Enable autodiff in ci for all major os) - #152908 (Enable rust.remap-debuginfo in the dist profile) - #152999 (Check importing `crate`/`$crate`/`super` after handling `self`) - #152003 (Reflection TypeId::trait_info_of) - #152976 (Revert relative paths for std links in rustc-docs) - #152985 (Port `#[feature]` to the new attribute system) - #152989 (Port `#[rustc_inherit_overflow_checks]` to the new attribute parsers) - #152991 (fix interpreter tracing output) - #153004 (Superficial tweaks to the query modifier docs in `rustc_middle::query::modifiers`) - #153008 (bootstrap.compiler.toml: update name of primary branch) - #153016 (Migration of `LintDiagnostic` - part 2) - #153020 (rustdoc: Improve sentence for documented empty impl blocks) Failed merges: - #152988 (Port `#[register_tool]` to the new attribute system)
Rollup merge of #152768 - ZuseZ4:autodiff-in-ci-for-all-os, r=Kobzol Enable autodiff in ci for all major os *[View all comments](https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/rust/pull/152768)* Follow-up attempt to #140064 after moving autodiff to dlopen. It covers Linux (x86_64+aarch64), MacOS (aarch64), Windows (mingw-llvm aarch64+x86_64) The extra build time for Enzyme are 180.27s on our slowest runner (aarch64-apple). The follow-up distribution via rustup probably still needs a small fix, see #151063 (comment) Placing the downloaded libEnzyme artifact on my local linux under `~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib` enables my nightly compiler to run autodiff. r? @Kobzol closes: #140064 closes: #151243 closes: #151063
| --enable-sanitizers | ||
| --enable-profiler | ||
| --set rust.jemalloc | ||
| --set llvm.link-shared=true |
There was a problem hiding this comment.
This is a highly non-trivial change with a risk of all sorts of unexpected side-effects. It's odd that this isn't even mentioned in the PR description, and it definitely should only have landed in a rollup=never PR to facilitate bisecting. I think this is the cause for #153077 but this PR became part of a gigantic rollup so I am not sure.
There was a problem hiding this comment.
I agree that this shouldn't be done for several reasons, including also performance.
At the very least, it should only be done when building enzyme (e.g. in a separate build step).
There was a problem hiding this comment.
At the very least, it should only be done when building enzyme (e.g. in a separate build step).
Enzyme needs to be linked against the same LLVM as rustc given that it is an LLVM plugin, yet we we don't want to statically link it into rustc, such that we can put it in a separate rustup component that isn't installed by default.
Revert "Enable autodiff in ci for all major os" Reverts rust-lang#152768 which fixes rust-lang#153077.
|
I am more and more confused about what this PR even does. "enable in CI" sounds like it would enable tests for autodiff to be checked in CI. But instead it seems what it does is enabling autodiff for the distributed artifacts (only on nightly, I assume)? |
Revert "Enable autodiff in ci for all major os" Reverts c033de9 (part of rust-lang#152768) in order to fix rust-lang#153077.
Revert "Move aarch64-apple dist builder to dynamic llvm linking" Reverts c033de9 (part of rust-lang#152768) in order to fix rust-lang#153077.
Revert "Move aarch64-apple dist builder to dynamic llvm linking" Reverts c033de9 (part of rust-lang#152768) in order to fix rust-lang#153077.
View all comments
Follow-up attempt to #140064 after moving autodiff to dlopen.
It covers Linux (x86_64+aarch64), MacOS (aarch64), Windows (mingw-llvm aarch64+x86_64)
The extra build time for Enzyme are 180.27s on our slowest runner (aarch64-apple).
The follow-up distribution via rustup probably still needs a small fix, see #151063 (comment)
Placing the downloaded libEnzyme artifact on my local linux under
~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/libenables my nightly compiler to run autodiff.r? @Kobzol
closes: #140064
closes: #151243
closes: #151063